The Internet is a worldwide “super-network” which connects together millions of individual computer networks and computers. The Internet is generally not a single entity. It is an extremely diffuse and complex system over where no single entity has complete authority or control. Although the Internet is widely know for one of its ways of presenting information through the World Wide Web (herein “Web”), there are many other services currently available based upon the general Internet protocols and infrastructure.
The Web is often easy to use for people inexperienced with computers. Information on the Web often is presented on “pages” of graphics and text that contain “links” to other pages either within the same set of data files (i.e., Web site) or within data files located on other computer networks. Users often access information on the Web using a “browser” program such as one made by Netscape Communications Corporation (now America Online, Inc.) of Mountain View, Calif. or Explorer™ from Microsoft Corporation of Redmond, Wash. Browser programs can process information from Web sites and display the information using graphics, text, sound, and animation. Accordingly, the Web has become a popular medium for advertising goods and services directly to consumers.
As time progressed, usage of the Internet has exploded. There are literally millions of users on the Internet. Usage of the Internet is increasing daily and will eventually be in the billions of users. As usage increases so does traffic on the Internet. Traffic generally refers to the transfer of information from a Web site at a server computer to a user at a client computer. The traffic generally travels through the worldwide network of computers using a packetized communication protocol, such as TCP/IP. Tiny packets of information travel from the server computer through the network to the client computer. Like automobiles during “rush hour” on Highway 101 in Silicon Valley, the tiny packets of information traveling through the Internet become congested. Here, traffic jams which cause a delay in the information from the server to the client occur during high usage hours on the Internet. These traffic jams lead to long wait times at the client location. Here, a user of the client computer may wait for a long time for a graphical object to load onto his/her computer.
Web sites typically contain a large amount of images. Web pages are populated with images because they are a very effective method to visually present information to Web users. However, images can be large in size and therefore can consume a large amount of bandwidth across a user's Web connection.
Web users may connect to the Internet in a variety of connection means such as dial-up, ISDN, DSL, and cable, each having differing connection speeds. Along with the differing connection speeds comes a wide variety of download speeds. Given the same large image file, users with slow Internet connections will experience a very slow download of the image, while users with fast Internet connections will have a significantly faster download.
The users with fast Internet connections can benefit from a sharp image presentation using the large image file. However, users with slow Internet connections must weigh the benefit of viewing the entire image versus the time wasted waiting for the entire image to download. It is impossible for the Web site to make one image size that will satisfy all audiences.
Some browsers have a capability of displaying images while the download is in progression. This shortens the time it takes to render the images, but it does not shorten the time it takes to download the entire page.
Some browsers are also capable of deciding whether or not to download images in a Web page. However, this is a coarse grain yes or no decision. This approach reduces the user's Web experience and, further, does not take into account the Web page author's presentation.
From the above, it is seen that an improved way to transfer information over a network is highly desirable.
It would be advantageous to provide a dynamic image delivery system that dynamically delivers images that are appropriate for a client's network access speed. It would further be advantageous to provide a dynamic image delivery system that performs dynamic rendering of images to conserve storage space.